go/types.operand.mode (field)
318 uses
go/types (current package)
api_predicates.go#L34: x := operand{mode: value, typ: V}
api_predicates.go#L45: x := operand{mode: value, typ: V}
assignments.go#L27: switch x.mode {
assignments.go#L39: x.mode = invalid
assignments.go#L54: x.mode = invalid
assignments.go#L64: x.mode = invalid
assignments.go#L82: x.mode = invalid
assignments.go#L99: x.mode = invalid
assignments.go#L117: x.mode = invalid
assignments.go#L122: if x.mode == invalid || !isValid(x.typ) || !isValid(lhs.typ) {
assignments.go#L130: if x.mode != constant_ {
assignments.go#L145: if x.mode == invalid {
assignments.go#L157: if x.mode == invalid || !isValid(x.typ) || !isValid(lhs.typ) {
assignments.go#L161: x.mode = invalid
assignments.go#L173: x.mode = invalid
assignments.go#L222: if x.mode == invalid || !isValid(x.typ) {
assignments.go#L228: switch x.mode {
assignments.go#L237: if op.mode == mapindex {
assignments.go#L256: x.mode = invalid
assignments.go#L447: if commaOk && rhs[0].mode != invalid && rhs[1].mode != invalid {
assignments.go#L455: if rhs[0].mode != invalid {
assignments.go#L511: if commaOk && rhs[0].mode != invalid && rhs[1].mode != invalid {
assignments.go#L519: if rhs[0].mode != invalid {
builtins.go#L59: if a.mode == invalid {
builtins.go#L146: x.mode = value
builtins.go#L157: if x.mode == constant_ {
builtins.go#L228: x.mode = mode
builtins.go#L247: x.mode = novalue
builtins.go#L268: x.mode = novalue
builtins.go#L303: if x.mode == constant_ && y.mode == constant_ {
builtins.go#L318: if x.mode == invalid || y.mode == invalid {
builtins.go#L351: if x.mode == constant_ && y.mode == constant_ {
builtins.go#L354: x.mode = value
builtins.go#L357: if check.recordTypes() && x.mode != constant_ {
builtins.go#L417: x.mode = value
builtins.go#L444: if x.mode == invalid {
builtins.go#L448: x.mode = novalue
builtins.go#L459: if x.mode == constant_ {
builtins.go#L472: if x.mode == invalid {
builtins.go#L505: if x.mode == constant_ {
builtins.go#L512: x.mode = value
builtins.go#L515: if check.recordTypes() && x.mode != constant_ {
builtins.go#L574: x.mode = value
builtins.go#L591: if a.mode == invalid {
builtins.go#L603: if x.mode == invalid {
builtins.go#L612: if x.mode == constant_ && a.mode == constant_ {
builtins.go#L617: x.mode = value
builtins.go#L623: if x.mode != constant_ {
builtins.go#L624: x.mode = value
builtins.go#L627: if x.mode == invalid {
builtins.go#L637: if check.recordTypes() && x.mode != constant_ {
builtins.go#L651: switch x.mode {
builtins.go#L662: if x.mode == invalid {
builtins.go#L672: x.mode = value
builtins.go#L694: if x.mode == invalid {
builtins.go#L698: x.mode = novalue
builtins.go#L711: if a.mode == invalid {
builtins.go#L718: x.mode = novalue
builtins.go#L725: x.mode = value
builtins.go#L736: if x.mode == invalid {
builtins.go#L745: x.mode = value
builtins.go#L754: if x.mode == invalid {
builtins.go#L759: x.mode = value
builtins.go#L764: x.mode = constant_
builtins.go#L782: if x.mode == invalid {
builtins.go#L812: if x.mode == variable || indirect {
builtins.go#L823: x.mode = value
builtins.go#L833: x.mode = constant_
builtins.go#L842: if x.mode == invalid {
builtins.go#L847: x.mode = value
builtins.go#L857: x.mode = constant_
builtins.go#L879: x.mode = value
builtins.go#L896: x.mode = value
builtins.go#L907: if x.mode == invalid {
builtins.go#L916: x.mode = value
builtins.go#L927: if x.mode == invalid {
builtins.go#L931: x.mode = value
builtins.go#L941: if x.mode != constant_ || !isBoolean(x.typ) {
builtins.go#L963: x.mode = novalue
builtins.go#L973: if x.mode == invalid {
builtins.go#L982: assert(x.mode != invalid)
call.go#L53: x.mode = invalid
call.go#L67: x.mode = invalid
call.go#L104: args = []*operand{{mode: value, expr: expr, typ: T.sig}}
call.go#L118: x.mode = invalid
call.go#L128: x.mode = value
call.go#L179: assert(x.mode == value)
call.go#L190: switch x.mode {
call.go#L199: if x.mode == invalid {
call.go#L203: x.mode = invalid
call.go#L209: if x.mode != invalid {
call.go#L233: x.mode = invalid
call.go#L237: if x.mode != invalid && x.mode != constant_ {
call.go#L245: cgocall := x.mode == cgofunc
call.go#L257: x.mode = invalid
call.go#L274: x.mode = invalid
call.go#L285: x.mode = invalid
call.go#L317: x.mode = novalue
call.go#L320: x.mode = commaerr
call.go#L322: x.mode = value
call.go#L326: x.mode = value
call.go#L334: if x.mode == value && sig.TypeParams().Len() > 0 && isParameterized(sig.TypeParams().list(), x.typ) {
call.go#L335: x.mode = invalid
call.go#L410: if t, ok := x.typ.(*Tuple); ok && x.mode != invalid {
call.go#L414: resList[i] = &operand{mode: value, expr: e, typ: v.typ}
call.go#L748: x.mode = constant_
call.go#L752: x.mode = typexpr
call.go#L755: x.mode = variable
call.go#L761: x.mode = funcMode
call.go#L764: x.mode = value
call.go#L768: x.mode = builtin
call.go#L781: switch x.mode {
call.go#L809: obj, index, indirect = lookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, sel, false)
call.go#L823: if x.mode == typexpr {
call.go#L835: alt, _, _ := lookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, sel, true)
call.go#L847: if x.mode == typexpr {
call.go#L884: x.mode = value
call.go#L899: if x.mode == variable || indirect {
call.go#L900: x.mode = variable
call.go#L902: x.mode = value
call.go#L925: if x.mode == variable {
call.go#L956: x.mode = value
call.go#L975: x.mode = invalid
call.go#L1004: x.mode = value // anything but invalid
call.go#L1036: return x.mode != invalid
const.go#L23: assert(x.mode == constant_)
const.go#L243: x.mode = invalid
const.go#L255: assert(x.mode == constant_)
const.go#L297: x.mode = invalid
conversions.go#L21: constArg := x.mode == constant_
conversions.go#L53: x.mode = invalid
conversions.go#L82: x.mode = value // type parameters are not constants
conversions.go#L86: x.mode = value
conversions.go#L95: x.mode = invalid
conversions.go#L116: } else if x.mode == constant_ && isInteger(x.typ) && allString(T) {
expr.go#L131: if x.mode == invalid {
expr.go#L140: if _, ok := ast.Unparen(e.X).(*ast.CompositeLit); !ok && x.mode != variable {
expr.go#L142: x.mode = invalid
expr.go#L145: x.mode = value
expr.go#L151: x.mode = commaok
expr.go#L156: x.mode = invalid
expr.go#L163: x.mode = invalid
expr.go#L171: x.mode = invalid
expr.go#L175: if x.mode == constant_ {
expr.go#L190: x.mode = value
expr.go#L364: if c.mode == invalid {
expr.go#L388: if x.mode == invalid || isTyped(x.typ) || !isValid(target) {
expr.go#L403: if x.mode == constant_ {
expr.go#L485: x.mode = invalid
expr.go#L560: if x.mode == constant_ && y.mode == constant_ {
expr.go#L565: x.mode = value
expr.go#L602: x.mode = invalid
expr.go#L621: if x.mode == constant_ {
expr.go#L631: x.mode = invalid
expr.go#L641: if y.mode == constant_ {
expr.go#L646: x.mode = invalid
expr.go#L654: if y.mode == invalid {
expr.go#L655: x.mode = invalid
expr.go#L664: x.mode = invalid
expr.go#L671: if y.mode == invalid {
expr.go#L672: x.mode = invalid
expr.go#L677: x.mode = invalid
expr.go#L682: if x.mode == constant_ {
expr.go#L683: if y.mode == constant_ {
expr.go#L698: x.mode = invalid
expr.go#L741: x.mode = value
expr.go#L749: x.mode = invalid
expr.go#L753: x.mode = value
expr.go#L785: if x.mode == invalid {
expr.go#L788: if y.mode == invalid {
expr.go#L789: x.mode = invalid
expr.go#L800: if x.mode == invalid {
expr.go#L823: x.mode = invalid
expr.go#L828: x.mode = invalid
expr.go#L834: if (x.mode == constant_ || allInteger(x.typ)) && y.mode == constant_ && constant.Sign(y.val) == 0 {
expr.go#L836: x.mode = invalid
expr.go#L841: if x.mode == constant_ && y.mode == constant_ && isComplex(x.typ) {
expr.go#L846: x.mode = invalid
expr.go#L852: if x.mode == constant_ && y.mode == constant_ {
expr.go#L869: x.mode = value
expr.go#L926: if x.mode == invalid {
expr.go#L930: if y.mode == invalid {
expr.go#L931: x.mode = invalid
expr.go#L1004: if x.mode == invalid || x.mode == novalue {
expr.go#L1024: x.mode = invalid
expr.go#L1033: if x.mode == invalid || x.mode == novalue {
expr.go#L1037: x.mode = invalid
expr.go#L1048: x.mode = invalid
expr.go#L1065: if x.mode == invalid {
expr.go#L1071: if x.mode == invalid {
expr.go#L1077: if x.mode == invalid {
expr.go#L1098: if x.mode == invalid {
expr.go#L1104: if x.mode == invalid {
expr.go#L1110: if x.mode == invalid {
expr.go#L1133: x.mode = commaok
expr.go#L1141: switch x.mode {
expr.go#L1164: x.mode = variable
expr.go#L1170: if x.mode == invalid {
expr.go#L1180: if x.mode == invalid {
expr.go#L1191: x.mode = typexpr
expr.go#L1208: x.mode = invalid
expr.go#L1298: if t, ok := x.typ.(*Tuple); ok && x.mode != invalid {
expr.go#L1302: list[i] = &operand{mode: value, expr: e, typ: v.typ}
expr.go#L1309: if allowCommaOk && (x.mode == mapindex || x.mode == commaok || x.mode == commaerr) {
expr.go#L1310: x2 := &operand{mode: value, expr: e, typ: Typ[UntypedBool]}
expr.go#L1311: if x.mode == commaerr {
expr.go#L1344: if modeset&(1<<x.mode) != 0 {
expr.go#L1347: switch x.mode {
expr.go#L1365: x.mode = invalid
expr.go#L1371: if x.mode == value {
expr.go#L1376: x.mode = invalid
index.go#L23: switch x.mode {
index.go#L30: x.mode = invalid
index.go#L34: x.mode = typexpr
index.go#L47: if x.mode == invalid {
index.go#L58: if x.mode == constant_ {
index.go#L64: x.mode = value
index.go#L71: if x.mode != variable {
index.go#L72: x.mode = value
index.go#L80: x.mode = variable
index.go#L86: x.mode = variable
index.go#L92: x.mode = invalid
index.go#L99: x.mode = mapindex
index.go#L124: if x.mode != variable {
index.go#L166: x.mode = invalid
index.go#L173: x.mode = mapindex
index.go#L181: x.mode = mode
index.go#L190: x.mode = invalid
index.go#L196: x.mode = invalid
index.go#L213: if x.mode == invalid {
index.go#L264: x.mode = invalid
index.go#L275: x.mode = invalid
index.go#L279: if x.mode == constant_ {
index.go#L292: if x.mode != variable {
index.go#L294: x.mode = invalid
index.go#L313: x.mode = invalid
index.go#L317: x.mode = value
index.go#L322: x.mode = invalid
index.go#L400: if x.mode != constant_ {
index.go#L420: if x.mode == invalid {
index.go#L426: if x.mode == invalid {
index.go#L436: if x.mode == constant_ {
infer.go#L68: if arg.mode == invalid {
infer.go#L168: if arg.mode == invalid {
literals.go#L64: x.mode = invalid
literals.go#L69: if x.mode == invalid {
literals.go#L75: x.mode = invalid
literals.go#L103: x.mode = value
literals.go#L107: x.mode = invalid
literals.go#L262: if x.mode == invalid {
literals.go#L265: if x.mode == constant_ {
literals.go#L312: x.mode = invalid
literals.go#L317: x.mode = value
operand.go#L60: mode operandMode
operand.go#L116: if x.mode == nilvalue {
operand.go#L127: if x.mode == value && x.typ == Typ[UntypedNil] {
operand.go#L138: switch x.mode {
operand.go#L156: switch x.mode {
operand.go#L172: buf.WriteString(operandModeString[x.mode])
operand.go#L175: if x.mode == constant_ {
operand.go#L288: x.mode = invalid
operand.go#L292: x.mode = constant_
operand.go#L300: return x.mode == nilvalue
operand.go#L302: return x.mode == value && x.typ == Typ[UntypedNil]
operand.go#L313: if x.mode == invalid || !isValid(T) {
range.go#L40: if isTypes2 && x.mode != invalid && sValue == nil && !check.hasCallOrRecv {
range.go#L56: mode: constant_,
range.go#L67: if x.mode != invalid {
range.go#L139: y.mode = value
range.go#L175: if x.mode != invalid && !isInteger(x.typ) {
range.go#L180: y.mode = value
recording.go#L23: switch x.mode {
recording.go#L39: check.rememberUntyped(x.expr, false, x.mode, typ.(*Basic), val)
recording.go#L41: check.recordTypeAndValue(x.expr, x.mode, typ, val)
recording.go#L100: if a[0].mode == invalid {
stmt.go#L242: if x.mode == invalid || v.mode == invalid {
stmt.go#L246: if v.mode == invalid {
stmt.go#L252: if res.mode == invalid {
stmt.go#L255: if v.mode != constant_ {
stmt.go#L448: switch x.mode {
stmt.go#L468: if ch.mode == invalid || val.mode == invalid {
stmt.go#L489: if x.mode == invalid {
stmt.go#L499: if x.mode == invalid {
stmt.go#L531: if x.mode == invalid {
stmt.go#L612: if x.mode != invalid && !allBoolean(x.typ) {
stmt.go#L639: if x.mode != invalid && !Comparable(x.typ) && !hasNil(x.typ) {
stmt.go#L641: x.mode = invalid
stmt.go#L646: x.mode = constant_
stmt.go#L731: if x.mode != invalid {
stmt.go#L840: if x.mode != invalid && !allBoolean(x.typ) {
typexpr.go#L21: x.mode = invalid
typexpr.go#L108: x.mode = constant_
typexpr.go#L115: x.mode = typexpr
typexpr.go#L128: x.mode = variable
typexpr.go#L132: x.mode = value
typexpr.go#L136: x.mode = builtin
typexpr.go#L139: x.mode = value
typexpr.go#L260: switch x.mode {
typexpr.go#L275: switch x.mode {
typexpr.go#L492: if x.mode != constant_ {
typexpr.go#L493: if x.mode != invalid {